home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio / Ray Dream Studio (CDRAYD1) (Ray Dream) (1995).iso / DREAMSDK.WIN / INCLUDE / I3DEXAB.H < prev    next >
C/C++ Source or Header  |  1995-09-01  |  7KB  |  153 lines

  1. /* $Id: i3dexab.h 1.2 1995/06/29 00:14:37 YannPC Exp $ */
  2. /*****************************************************************************\
  3. *                                                                             *
  4. * I3DExAB.h -                                                                                  *
  5. *   I3DExAtmosphericShader definition                                         *
  6. *   I3DExBackgroundShader definition                                          *
  7. *                                                                             *
  8. *           Copyright (c) 1995, Ray Dream, Inc. All rights reserved.          *
  9. *                                                                             *
  10. \*****************************************************************************/
  11.  
  12. #ifndef __I3DEXAB__
  13. #define __I3DEXAB__
  14.  
  15. #ifndef __I3DEX__
  16. #include "I3DEx.h"
  17. #endif
  18.  
  19.  
  20. //****** Globally Unique Ids *************************************************
  21.  
  22. DEFINE_GUID(IID_I3DExAtmosphericShader, 0x99FF7660L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  23. DEFINE_GUID(IID_I3DExBackground, 0x9D2399C0L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  24.  
  25. /*****************************************************************************\
  26. *  I3DExAtmosphericShader                                                     *
  27. *                                                                             *
  28. *  Atmospheric Shader                                                         *
  29. *                                                                             *
  30. \*****************************************************************************/
  31.  
  32. #undef  INTERFACE
  33. #define INTERFACE   I3DExAtmosphericShader
  34.  
  35. DECLARE_INTERFACE_(I3DExAtmosphericShader, I3DExDataExchanger) {
  36.     // IUnknown methods
  37.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  38.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  39.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  40.   
  41.     // I3DExtension methods
  42.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  43.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  44.  
  45.   // I3DExDataExchanger methods
  46.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  47.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  48.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  49.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  50.     STDMETHOD_(short, GetResID) (THIS) PURE;
  51.   
  52.   // I3DExAtmosphericShader methods
  53.     STDMETHOD(SegmentFilter) (THIS_ VECTOR3D* beg, VECTOR3D* end, COLOR3D* filterOut) PURE;
  54.     STDMETHOD(DirectionFilter) (THIS_ VECTOR3D* origin, VECTOR3D* direction, COLOR3D* filterOut) PURE;
  55.     };
  56.  
  57. /*****************************************************************************\
  58. *  I3DExBackground                                                            *
  59. *                                                                             *
  60. *  Background                                                                 *
  61. *                                                                             *
  62. \*****************************************************************************/
  63.  
  64. #undef  INTERFACE
  65. #define INTERFACE   I3DExBackground
  66.  
  67. DECLARE_INTERFACE_(I3DExBackground, I3DExDataExchanger) {
  68.     // IUnknown methods
  69.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  70.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  71.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  72.   
  73.     // I3DExtension methods
  74.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  75.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  76.  
  77.   // I3DExDataExchanger methods
  78.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  79.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  80.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  81.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  82.     STDMETHOD_(short, GetResID) (THIS) PURE;
  83.   
  84.   // I3DExBackground methods
  85.     STDMETHOD(GetBackgroundColor) (THIS_ VECTOR3D* direction, COLOR3D* resultColor) PURE;
  86.     };
  87.  
  88.  
  89. /*****************************************************************************\
  90. *  I3DExBackdrop                                                              *
  91. *                                                                             *
  92. *  Backdrop Shader                                                            *
  93. *                                                                             *
  94. \*****************************************************************************/
  95.  
  96. #undef  INTERFACE
  97. #define INTERFACE   I3DExBackdrop
  98.  
  99. DECLARE_INTERFACE_(I3DExBackdrop, I3DExDataExchanger) {
  100.     // IUnknown methods
  101.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  102.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  103.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  104.   
  105.     // I3DExtension methods
  106.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  107.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  108.  
  109.   // I3DExDataExchanger methods
  110.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  111.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  112.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  113.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  114.     STDMETHOD_(short, GetResID) (THIS) PURE;
  115.   
  116.   // I3DExBackdrop methods
  117.     STDMETHOD(GetBackdropColor) (THIS_ VECTOR2D* screenPoint, BOX2D* screenMinMax, COLOR3D* resultColor) PURE;
  118.     };
  119.  
  120. /*****************************************************************************\
  121. *  I3DExAmbientLight                                                          *
  122. *                                                                             *
  123. *  Ambient Light                                                              *
  124. *                                                                             *
  125. \*****************************************************************************/
  126.  
  127. #undef  INTERFACE
  128. #define INTERFACE   I3DExAmbientLight
  129.  
  130. DECLARE_INTERFACE_(I3DExAmbientLight, I3DExDataExchanger) {
  131.     // IUnknown methods
  132.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  133.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  134.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  135.   
  136.     // I3DExtension methods
  137.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  138.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  139.  
  140.   // I3DExDataExchanger methods
  141.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  142.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  143.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  144.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  145.     STDMETHOD_(short, GetResID) (THIS) PURE;
  146.   
  147.   // I3DExAmbientLight methods
  148.     STDMETHOD(GetColor) (THIS_ COLOR3D* resultColor) PURE;
  149.     };
  150.  
  151.  
  152. #endif
  153.